package com.sailing.xjpb.orm.query;


import org.springframework.data.domain.Pageable;

import java.util.Map;

/**
 * 动态查询SQL解析：获取查询SQL/注入参数/分页接口
 *
 * @author YaoWei
 * createDate: 2020/12/17 21:20
 * @see com.sailing.xjpb.orm.query.annotation.Condition
 */
public interface QueryCondition {
    /**
     * where查询条件
     */
    String DEFAULT_WHERE_CONDITION = " where 1=1 ";
    /**
     * where关键字
     */
    String WHERE_KEY = " where ";

    /**
     * 得到根据前台请求参数动态生成的查询语句
     *
     * @return 拼接后的sql语句
     */
    String getQuerySql();

    /**
     * 得到注入参数
     */
    Map<String, Object> getParameters();

    /**
     * 分页信息
     */
    Pageable getPageable();

}
